<?php
header('Expires: '.date('D,d M Y H:i:s',mktime(0,0,0,1,1,2000)).' GMT');
header('Last-Modified:'.gmdate('D,d M Y H:i:s').' GMT');
header('Cache-control: private, no-cache,must-revalidate');
header('Pragma: no-cache');
//date_default_timezone_set('PRC');
/**
 * 由数据库取出系统的配置
 *
 * @access  public
 * @param   mix     $name
 *
 * @return  mix
 */
function fanweC($name)
{
	static $sys_conf = NULL;

	if($name == 'SITE_URL')
		return "http://".$_SERVER['HTTP_HOST'];
	else
	{
		if ($sys_conf === NULL)
		{
			$sys_conf = D("SysConf")->where("status=1")->getField("name,val");
		}

		return $sys_conf[$name];
	}
}


/**
 * 获得当前格林威治时间的时间戳
 *
 * @return  integer
 */
function gmtTime()
{
	return (time() - date('Z'));
}


/**
 * 判断是否为时间
 * @author zibin.dou <zibin_5257@163.com>
 * @var String $str 日期  Y-m-d
 */
function isDate($str,$format="Y-m-d"){
    $unixTime=strtotime($str);
    $checkDate= date($format,$unixTime);
    if($checkDate==$str)
         return true;
    else
         return false;
}
/**
 * 传递日期，转换为每天开始的秒数
 * @author zibin.dou <zibin_5257@163.com>
 * @var String $str 日期  Y-m-d
 */
 function get_time_kaishi($str)
 {
     list($year,$month,$day)=split ("-",$str);
     return mktime(0,0,0,$month,$day,$year);
 }

 /**
 * 传递日期，转换为每天中午的秒数
 * @author zibin.dou <zibin_5257@163.com>
 * @var String $str 日期  Y-m-d
 */
 function get_time_center($str)
 {
     list($year,$month,$day)=split ("-",$str);
     return mktime(12,0,0,$month,$day,$year);
 }
 /**
 * 传递日期，转换为每天结束的秒数
 * @author zibin.dou <zibin_5257@163.com>
 * @var String $str 日期  Y-m-d
 */
 function get_time_jieshu($str)
 {
     list($year,$month,$day)=split ("-",$str);
     return mktime(23,59,59,$month,$day,$year);
 }

  /**
 * 传递日期，获取月份
 * @author zibin.dou <zibin_5257@163.com>
 * @var String $str 日期  Y-m-d
 */
 function get_month($str)
 {
     list($year,$month,$day)=split ("-",$str);
     return $month;
 }

 /**
 * 传递秒数 获取Y-m-d H:i:s格式的时间
 * @author zibin.dou <zibin_5257@163.com>
 * @var Int $time 距离1970的秒数
 */
 function get_date_full($time)
 {
    return date( 'Y-m-d H:i:s', $time);
 }

  /**
 * 传递秒数 获取Y-m-d格式的时间
 * @author zibin.dou <zibin_5257@163.com>
 * @var Int $time 距离1970的秒数
 */
 function get_date($time)
 {
    return date( 'Y-m-d', $time);
 }
 
  /**
 * 传递秒数 获取Y-m格式的月份
 * @author zibin.dou <zibin_5257@163.com>
 * @var Int $time 距离1970的秒数
 */
 function get_year_month($time)
 {
    return date( 'Y-m', $time);
 }

 function array_timetodate($list,$kind='qs_input_time')   //将二维数组中的数据转为日期
 {
     for($i=0;$i<count($list);$i++)
     {
         $list[$i][$kind]=$this->get_date($list[$i][$kind]);
      }
      return $list;
 }



 /**
  * 弹出提示框
  *
  * @var String $name 提示信息
  * @var String $url 返回链接
  * 
  */
 function pop($name,$url){
     header("Content-Type: text/html; charset=UTF-8");
     echo '<script language="javascript">';
     echo "alert('{$name}');";
     echo "location.href='{$url}'";
     echo '</script>';
     exit();
 }


 /**
  * 弹出提示框，并执行一个脚本
  *
  * @var String $name 提示信息
  * @var String 其他脚本
  *
  */
 function pop_js($name,$js){
     header("Content-Type: text/html; charset=UTF-8");
     echo '<script language="javascript">';
     echo "alert('{$name}');";
     echo "{$js}";
     echo '</script>';
     exit();
 }

  /**
  * 弹出提示框，上级框架跳转
  *
  * @var String $name 提示信息
  * @var String $url 返回链接
  *
  */
 function pop_parent($name,$url){
     header("Content-Type: text/html; charset=UTF-8");
     echo '<script language="javascript">';
     echo "alert('{$name}');";
     echo "parent.location.href='{$url}'";
     echo '</script>';
     exit();
 }


 
 
    /**
    * 输出系统处理中，请稍候的信息
    */
    function print_wait(){
        header("Content-Type: text/html; charset=UTF-8");
        echo '<img src="'.__ROOT__.'/images/loading.gif" /><font size="2">系统处理中...请稍后！</font>';
    }
    
   
    
    
    
    
    /**
 *获取栏目下的菜单列表
 * @param integer $id 栏目id
 * @return array 允许访问的菜单列表 
 */
function get_menu($id=0) {
    $id	= intval($id);
    $menus = array();
    if (isset($_SESSION['menu_' . $id . '_' . $_SESSION[C('USER_AUTH_KEY')]]))
    //if(false)
        $menus = $_SESSION['menu_' . $id . '_' . $_SESSION[C('USER_AUTH_KEY')]];
    else {
        if ($id == 0)
            $id = M("RoleNav")->where('status=1')->order("sort ASC,id ASC")->getField('id');

        if ($id == 0)
            return;

        $where = array();
        $where['status'] = 1;
        $where['nav_id'] = $id;
        $where['is_show'] = 1;
        $where['auth_type'] = 0;

        $no_modules = explode(',', strtoupper(C('NOT_AUTH_MODULE')));

        $access_list = $_SESSION['_ACCESS_LIST'];
        $node_list = M("RoleNode")->where($where)->field('id,action,action_name,module,module_name')->order('sort ASC,id ASC')->select();
        foreach ($node_list as $key => $node) {
            if ((isset($access_list[strtoupper($node['module'])]['MODULE']) || isset($access_list[strtoupper($node['module'])][strtoupper($node['action'])])) || $_SESSION['administrator'] || in_array(strtoupper($node['module']), $no_modules)) {
                $menus[$node['module']]['nodes'][] = $node;
                $menus[$node['module']]['name'] = $node['module_name'];
            }
        }

        $_SESSION['menu_' . $id . '_' . $_SESSION[C('USER_AUTH_KEY')]] = $menus;
    }
    return $menus;
}


/**
 *检测栏目是否应该显示
 * @param int $id 菜单id
 * @param int $key 是否当前选中的栏目 
 * 
 * @return String 菜单连接字符串 
 */
function get_part_url($id,$key){
    $id	= intval($id);
    $url='';
    $menu=array();
    //获取栏目下的菜单数组
    $menu=  get_menu($id);
    
    //判断是否为当前菜单
    $active=$key==0?'active':'';
    
    //判断当前菜单下是否有栏目
    if(count($menu)>0){
        $name = M('RoleNav')->where("status=1 and id={$id}")->getField('name');
        $url='<div class="'.$active.'"><p><a href="'.U('Index/left',array('id'=>$id)).'"  target="leftFrame">'.$name.'</a></p></div>';
    }
        return $url;
    
}

function toDate($time,$format='Y-m-d H:i:s')
{
	if( empty($time))
		return '';

	$format = str_replace('#',':',$format);
	$time_zone = intval(fanweC('TIME_ZONE'));
	$time = $time + $time_zone * 3600;
	return date($format,$time);
}

function echoFlush($str)
{
	echo str_repeat(' ',4096);
	echo $str;
}


/**
 *传入相对路径，获取绝对路径
 * @param string $url 相对当前项目目录的绝对路径 
 * @return string 目录的绝对路径
 */
function get_realurl($url){
    $dir = getcwd();
    $url = str_replace('/', '\\', $url);
    $dir.=$url;
    return $dir;
}

/**
 *获取状态图片
 * @param int $status 状态码
 * @return string 状态图片
 */
function getStatusImg($status)
{
	$status = intval($status);
	return '<img status="'.$status.'" src="'.__ROOT__.'/images/status-'.$status.'.gif" />';
}

/**
 *检测菜单是否应该显示 
 */
function check_menu_display($model_name,$action_name){
    import('ORG.Util.RBAC');
    return RBAC::Check($model_name,$action_name);
}




?>
